{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf290
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\margl1440\margr1440\vieww12920\viewh16380\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural

\f0\b\fs24 \cf0 UIElementInspector Sample
\b0 \
\
This sample demonstrates the use of the Accessibility API introduced in Mac OS X version 10.2.  This API provides an abstraction layer to allow accessibility applications a way to manipulate the UI of other applications, be they Carbon or Cocoa.  The API is provided for use by both Carbon and Cocoa applications, although this sample demonstrates their use from a Cocoa application.\
\
In this sample, the Accessibility API is used to get information about whatever AXUIElements (widgets) are under the mouse at any given time.  Information can be obtained from the AXUIElement, and actions that it has can be performed.  As the mouse moves, the inspector window displays information obtained through the new API.  When you then lock the inspector window on an element, you can dig deeper into the information provided by the API for that object, as well as trigger any actions that it might provide, in the interaction window.\
\
This sample does not demonstrate how to make a custom UI element accessible so that the Accessibility API can access it.  Custom Cocoa widgets will often just inherit the right behavior from their superclass.  Carbon applications will typically need to provide a little more code to serve up the right information to applications that are interested.  Instead, this sample shows how to use the Accessibility API itself - to get information on other applications and UI elements on the screen, which you would need to do as an accessibility application.\
\
\

\b Version History:
\b0 \
\
1.0 - initial version\
\
1.1 - a few bug fixes\
\
1.2 - fixed "Attributes" popup synching problem - mismatch between attributes and values fixed - Universal Binary build now available.\
\
1.3 - Removed deprecated Carbon calls - now compiles in 64-bit.  Modernized and updated code to better follow Model-View-Controller conventions.\
\
1.4 - Major refactoring of code to be a better example of MVC design pattern. Enable compilation in 64-bit by moving from a Carbon function to Cocoa. Centralized most access of AX calls to a utility wrapper class. Removed unused code and simplified the selection model of the app.\
\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qj\pardirnatural

\b \cf0 Feedback and Bug Reports\

\b0 \
Please send all feedback about this sample to:\
<http://developer.apple.com/contact/feedback.html>\
\
Please submit any bug reports about this sample to:\
<http://developer.apple.com/bugreporter>\
\
Copyright (C) 2002-2010 Apple Inc. All rights reserved.}